<head>
    <meta charset="UTF-8">
<title>算法提高 3000米排名预测</title>
<link rel="stylesheet" href="../css/main.css">
</head>
 <p>&nbsp;【问题描述】</p>
<div>3000米长跑时，围观党们兴高采烈地预测着最后的排名。因为他们来自不同的班，对所有运动员不一定都了解，于是他们分别对自己了解的一些运动员的实力作出了评估，即对部分运动员做了相对排名的预测，并且告诉了可怜留守的班长。因为无聊，于是他们就组团去打Dota去了。比赛结束后他们向班长询问最后的排名，但班长不记得了，只记得他们中哪些人的预测是正确的，哪些人的预测是错误的。他们想知道比赛的排名可能是什么。</div>
<div>【输入格式】</div>
<div>第一行两个整数n， m，n为运动员数量，m为围观党数量。运动员编号从0到n-1。</div>
<div>接下来m行，每行为一个围观党的相对排名预测。每行第一个数c表示他预测的人数，后面跟着c个0~n-1的不同的数，表示他预测的运动员相对排名，最后还有一个数，0表示这个预测是错误的，1表示是正确的。</div>
<div>【输出格式】</div>
<div>第一行一个数k为有多少种排名的可能。</div>
<div>下面k行，每行一个0~n-1的排列，为某一个可能的排名，相邻的数间用空格隔开。所有排名按字典序依次输出。</div>
<div>【样例输入】</div>
<div>Input Sample 1:</div>
<div>3 2</div>
<div>2 0 1 1</div>
<div>2 1 2 0</div>
<div>&nbsp;</div>
<div>Input Sample 2:</div>
<div>3 2</div>
<div>2 0 1 1</div>
<div>2 2 1 0</div>
<div>&nbsp;</div>
<div>【样例输出】</div>
<div>Output Sample 1:</div>
<div>2</div>
<div>0 2 1</div>
<div>2 0 1</div>
<div>&nbsp;</div>
<div>Output Sample 2:</div>
<div>1</div>
<div>0 1 2</div>
<div>【数据规模】</div>
<div>1&lt;=n&lt;=10, 2&lt;=c&lt;=n, 1&lt;=m&lt;=10，保证数据合法，且答案中排名可能数不超过20000。对于一个排名序列，一个预测是正确的，当且仅当预测的排名的相对顺序是排名序列的一个子序列。一个预测是错误的，当且仅当这个预测不正确。</div>